1. Field of the Invention
This invention relates to the field of logically partitioned data processing systems. More specifically, it relates to mechanisms for cross-partition interaction when a process active in one partition must take actions affecting a process in another partition.
2. Background Art
Logical Partitions
A logical partitioning feature allows a large computer system to be split into multiple partitions under microcode control (e.g., IBM's PR/SM feature allows the 3090 to be split into multiple partitions). A logical partition (LP) is a set of hardware resources (processors, memory, channels, etc.) which is sufficient to allow a system control program (SCP) to execute. Additional background is contained in IBM ES/3090 Processor Complex: Processor Resource Systems Manager (GA22-7123).
In a logically partitioned machine, each SCP is isolated and runs as though in its own physical Central Processor Complex (CPC). Partitioning provides a great deal of flexibility. Installations may have different partitions active across shifts in a single day, or across longer periods for testing and migration to new software or new software versions. Logical partitioning also allows the customer to make the maximum use of the physical resources of a machine.
Although they are on the same physical machine, the SCP's have no means of directly communicating with or controlling one another. Operator control of the partitions is provided thru a single system console which is attached to the service processor. In a logically partitioned machine, multiple SCP's are actually on the same CPC and share a single service processor. Machines which provide hardware logical partitioning, also provide reconfiguration support whereby an SCP can add resources such as channels and storage. Such resources must be `free`, i.e. not in use by another partition, before they are available for adding to a logical partition's configuration.
Logical partition deactivation is an operator initiated function to shutdown a logical partition. When a logical partition is deactivated, it releases any dedicated processors and storage allocations for the logical partition, and resets the channel paths which are left configured to the logical partition. (See IBM ES/3090 Processor Complex: Processor Resource/Systems Manager (GA22-7123), for additional details.)
One of the key features of PR/SM is the ability to partition the storage and processing power of a physical CPC. Each logical partition is given a portion of the main and expanded storage.
PR/SM storage reconfiguration allows dynamic reconfiguration of storage between partitions. Some of the storage belonging to a given partition may be deconfigured (removed) from that partition and used to activate another partition. Or a given partition may be deactivated and all its storage configured on to another partition.
The SCP requests the service processor to perform storage reconfiguration via a service call.
The logical partition definition frame is used to define storage configurations for partitions. In order to utilize the storage reconfiguration functions, a logical partition must have storage defined in two separate amounts, an initial amount, and a reserved amount. In addition, the starting address within the physical configuration must be defined. In order for one partition to be able to add storage which is defined for a second partition, the second partition's storage must be defined to start within the same physical address as the reserved portion of the first partition's storage. (IBM ES/3090 Processor Complex: Processor Resource/Systems Manager (GA22-7123) and MVS Guide for Processor Resource/Systems Manager Dynamic Storage Reconfiguration (GC28-1365), for additional details.)
Each SCP has a service processor interface over which it communicates with a `Service Call Logical Processor`. The SCP sets up control information in its storage and executes the Service Call instruction. This instruction causes the Service Call Logical Processor to execute a function specified in the control information. The general purpose of this interface is to communicate with the service processor and to invoke services provided by the service processor. Depending on the specific function, execution may actually take place in the CPC, in the service processor, or in both.
The Service Call instruction requires a 32 bit value called the SCLP command word and the real address of the Service Call Control Block (SCCB). The SCCB contains the control information associated with the SCLP command. The Service Call instruction completes when the SCLP command is accepted by the Service Call Logical Processor. The actual function is executed asynchronously. The completion of the SCLP command is signaled by an external interruption with external interruption code `2401`X (service signal).